home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / openssl / objects.h < prev    next >
C/C++ Source or Header  |  2006-04-25  |  33KB  |  1,045 lines

  1. /* crypto/objects/objects.h */
  2. /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  3.  * All rights reserved.
  4.  *
  5.  * This package is an SSL implementation written
  6.  * by Eric Young (eay@cryptsoft.com).
  7.  * The implementation was written so as to conform with Netscapes SSL.
  8.  * 
  9.  * This library is free for commercial and non-commercial use as long as
  10.  * the following conditions are aheared to.  The following conditions
  11.  * apply to all code found in this distribution, be it the RC4, RSA,
  12.  * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
  13.  * included with this distribution is covered by the same copyright terms
  14.  * except that the holder is Tim Hudson (tjh@cryptsoft.com).
  15.  * 
  16.  * Copyright remains Eric Young's, and as such any Copyright notices in
  17.  * the code are not to be removed.
  18.  * If this package is used in a product, Eric Young should be given attribution
  19.  * as the author of the parts of the library used.
  20.  * This can be in the form of a textual message at program startup or
  21.  * in documentation (online or textual) provided with the package.
  22.  * 
  23.  * Redistribution and use in source and binary forms, with or without
  24.  * modification, are permitted provided that the following conditions
  25.  * are met:
  26.  * 1. Redistributions of source code must retain the copyright
  27.  *    notice, this list of conditions and the following disclaimer.
  28.  * 2. Redistributions in binary form must reproduce the above copyright
  29.  *    notice, this list of conditions and the following disclaimer in the
  30.  *    documentation and/or other materials provided with the distribution.
  31.  * 3. All advertising materials mentioning features or use of this software
  32.  *    must display the following acknowledgement:
  33.  *    "This product includes cryptographic software written by
  34.  *     Eric Young (eay@cryptsoft.com)"
  35.  *    The word 'cryptographic' can be left out if the rouines from the library
  36.  *    being used are not cryptographic related :-).
  37.  * 4. If you include any Windows specific code (or a derivative thereof) from 
  38.  *    the apps directory (application code) you must include an acknowledgement:
  39.  *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
  40.  * 
  41.  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
  42.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  43.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  45.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  46.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  47.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  48.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  49.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  50.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  51.  * SUCH DAMAGE.
  52.  * 
  53.  * The licence and distribution terms for any publically available version or
  54.  * derivative of this code cannot be changed.  i.e. this code cannot simply be
  55.  * copied and put under another distribution licence
  56.  * [including the GNU Public Licence.]
  57.  */
  58.  
  59. #ifndef HEADER_OBJECTS_H
  60. #define HEADER_OBJECTS_H
  61.  
  62. #define USE_OBJ_MAC
  63.  
  64. #ifdef USE_OBJ_MAC
  65. #include <openssl/obj_mac.h>
  66. #else
  67. #define SN_undef            "UNDEF"
  68. #define LN_undef            "undefined"
  69. #define NID_undef            0
  70. #define OBJ_undef            0L
  71.  
  72. #define SN_Algorithm            "Algorithm"
  73. #define LN_algorithm            "algorithm"
  74. #define NID_algorithm            38
  75. #define OBJ_algorithm            1L,3L,14L,3L,2L
  76.  
  77. #define LN_rsadsi            "rsadsi"
  78. #define NID_rsadsi            1
  79. #define OBJ_rsadsi            1L,2L,840L,113549L
  80.  
  81. #define LN_pkcs                "pkcs"
  82. #define NID_pkcs            2
  83. #define OBJ_pkcs            OBJ_rsadsi,1L
  84.  
  85. #define SN_md2                "MD2"
  86. #define LN_md2                "md2"
  87. #define NID_md2                3
  88. #define OBJ_md2                OBJ_rsadsi,2L,2L
  89.  
  90. #define SN_md5                "MD5"
  91. #define LN_md5                "md5"
  92. #define NID_md5                4
  93. #define OBJ_md5                OBJ_rsadsi,2L,5L
  94.  
  95. #define SN_rc4                "RC4"
  96. #define LN_rc4                "rc4"
  97. #define NID_rc4                5
  98. #define OBJ_rc4                OBJ_rsadsi,3L,4L
  99.  
  100. #define LN_rsaEncryption        "rsaEncryption"
  101. #define NID_rsaEncryption        6
  102. #define OBJ_rsaEncryption        OBJ_pkcs,1L,1L
  103.  
  104. #define SN_md2WithRSAEncryption        "RSA-MD2"
  105. #define LN_md2WithRSAEncryption        "md2WithRSAEncryption"
  106. #define NID_md2WithRSAEncryption    7
  107. #define OBJ_md2WithRSAEncryption    OBJ_pkcs,1L,2L
  108.  
  109. #define SN_md5WithRSAEncryption        "RSA-MD5"
  110. #define LN_md5WithRSAEncryption        "md5WithRSAEncryption"
  111. #define NID_md5WithRSAEncryption    8
  112. #define OBJ_md5WithRSAEncryption    OBJ_pkcs,1L,4L
  113.  
  114. #define SN_pbeWithMD2AndDES_CBC        "PBE-MD2-DES"
  115. #define LN_pbeWithMD2AndDES_CBC        "pbeWithMD2AndDES-CBC"
  116. #define NID_pbeWithMD2AndDES_CBC    9
  117. #define OBJ_pbeWithMD2AndDES_CBC    OBJ_pkcs,5L,1L
  118.  
  119. #define SN_pbeWithMD5AndDES_CBC        "PBE-MD5-DES"
  120. #define LN_pbeWithMD5AndDES_CBC        "pbeWithMD5AndDES-CBC"
  121. #define NID_pbeWithMD5AndDES_CBC    10
  122. #define OBJ_pbeWithMD5AndDES_CBC    OBJ_pkcs,5L,3L
  123.  
  124. #define LN_X500                "X500"
  125. #define NID_X500            11
  126. #define OBJ_X500            2L,5L
  127.  
  128. #define LN_X509                "X509"
  129. #define NID_X509            12
  130. #define OBJ_X509            OBJ_X500,4L
  131.  
  132. #define SN_commonName            "CN"
  133. #define LN_commonName            "commonName"
  134. #define NID_commonName            13
  135. #define OBJ_commonName            OBJ_X509,3L
  136.  
  137. #define SN_countryName            "C"
  138. #define LN_countryName            "countryName"
  139. #define NID_countryName            14
  140. #define OBJ_countryName            OBJ_X509,6L
  141.  
  142. #define SN_localityName            "L"
  143. #define LN_localityName            "localityName"
  144. #define NID_localityName        15
  145. #define OBJ_localityName        OBJ_X509,7L
  146.  
  147. /* Postal Address? PA */
  148.  
  149. /* should be "ST" (rfc1327) but MS uses 'S' */
  150. #define SN_stateOrProvinceName        "ST"
  151. #define LN_stateOrProvinceName        "stateOrProvinceName"
  152. #define NID_stateOrProvinceName        16
  153. #define OBJ_stateOrProvinceName        OBJ_X509,8L
  154.  
  155. #define SN_organizationName        "O"
  156. #define LN_organizationName        "organizationName"
  157. #define NID_organizationName        17
  158. #define OBJ_organizationName        OBJ_X509,10L
  159.  
  160. #define SN_organizationalUnitName    "OU"
  161. #define LN_organizationalUnitName    "organizationalUnitName"
  162. #define NID_organizationalUnitName    18
  163. #define OBJ_organizationalUnitName    OBJ_X509,11L
  164.  
  165. #define SN_rsa                "RSA"
  166. #define LN_rsa                "rsa"
  167. #define NID_rsa                19
  168. #define OBJ_rsa                OBJ_X500,8L,1L,1L
  169.  
  170. #define LN_pkcs7            "pkcs7"
  171. #define NID_pkcs7            20
  172. #define OBJ_pkcs7            OBJ_pkcs,7L
  173.  
  174. #define LN_pkcs7_data            "pkcs7-data"
  175. #define NID_pkcs7_data            21
  176. #define OBJ_pkcs7_data            OBJ_pkcs7,1L
  177.  
  178. #define LN_pkcs7_signed            "pkcs7-signedData"
  179. #define NID_pkcs7_signed        22
  180. #define OBJ_pkcs7_signed        OBJ_pkcs7,2L
  181.  
  182. #define LN_pkcs7_enveloped        "pkcs7-envelopedData"
  183. #define NID_pkcs7_enveloped        23
  184. #define OBJ_pkcs7_enveloped        OBJ_pkcs7,3L
  185.  
  186. #define LN_pkcs7_signedAndEnveloped    "pkcs7-signedAndEnvelopedData"
  187. #define NID_pkcs7_signedAndEnveloped    24
  188. #define OBJ_pkcs7_signedAndEnveloped    OBJ_pkcs7,4L
  189.  
  190. #define LN_pkcs7_digest            "pkcs7-digestData"
  191. #define NID_pkcs7_digest        25
  192. #define OBJ_pkcs7_digest        OBJ_pkcs7,5L
  193.  
  194. #define LN_pkcs7_encrypted        "pkcs7-encryptedData"
  195. #define NID_pkcs7_encrypted        26
  196. #define OBJ_pkcs7_encrypted        OBJ_pkcs7,6L
  197.  
  198. #define LN_pkcs3            "pkcs3"
  199. #define NID_pkcs3            27
  200. #define OBJ_pkcs3            OBJ_pkcs,3L
  201.  
  202. #define LN_dhKeyAgreement        "dhKeyAgreement"
  203. #define NID_dhKeyAgreement        28
  204. #define OBJ_dhKeyAgreement        OBJ_pkcs3,1L
  205.  
  206. #define SN_des_ecb            "DES-ECB"
  207. #define LN_des_ecb            "des-ecb"
  208. #define NID_des_ecb            29
  209. #define OBJ_des_ecb            OBJ_algorithm,6L
  210.  
  211. #define SN_des_cfb64            "DES-CFB"
  212. #define LN_des_cfb64            "des-cfb"
  213. #define NID_des_cfb64            30
  214. /* IV + num */
  215. #define OBJ_des_cfb64            OBJ_algorithm,9L
  216.  
  217. #define SN_des_cbc            "DES-CBC"
  218. #define LN_des_cbc            "des-cbc"
  219. #define NID_des_cbc            31
  220. /* IV */
  221. #define OBJ_des_cbc            OBJ_algorithm,7L
  222.  
  223. #define SN_des_ede            "DES-EDE"
  224. #define LN_des_ede            "des-ede"
  225. #define NID_des_ede            32
  226. /* ?? */
  227. #define OBJ_des_ede            OBJ_algorithm,17L
  228.  
  229. #define SN_des_ede3            "DES-EDE3"
  230. #define LN_des_ede3            "des-ede3"
  231. #define NID_des_ede3            33
  232.  
  233. #define SN_idea_cbc            "IDEA-CBC"
  234. #define LN_idea_cbc            "idea-cbc"
  235. #define NID_idea_cbc            34
  236. #define OBJ_idea_cbc            1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L
  237.  
  238. #define SN_idea_cfb64            "IDEA-CFB"
  239. #define LN_idea_cfb64            "idea-cfb"
  240. #define NID_idea_cfb64            35
  241.  
  242. #define SN_idea_ecb            "IDEA-ECB"
  243. #define LN_idea_ecb            "idea-ecb"
  244. #define NID_idea_ecb            36
  245.  
  246. #define SN_rc2_cbc            "RC2-CBC"
  247. #define LN_rc2_cbc            "rc2-cbc"
  248. #define NID_rc2_cbc            37
  249. #define OBJ_rc2_cbc            OBJ_rsadsi,3L,2L
  250.  
  251. #define SN_rc2_ecb            "RC2-ECB"
  252. #define LN_rc2_ecb            "rc2-ecb"
  253. #define NID_rc2_ecb            38
  254.  
  255. #define SN_rc2_cfb64            "RC2-CFB"
  256. #define LN_rc2_cfb64            "rc2-cfb"
  257. #define NID_rc2_cfb64            39
  258.  
  259. #define SN_rc2_ofb64            "RC2-OFB"
  260. #define LN_rc2_ofb64            "rc2-ofb"
  261. #define NID_rc2_ofb64            40
  262.  
  263. #define SN_sha                "SHA"
  264. #define LN_sha                "sha"
  265. #define NID_sha                41
  266. #define OBJ_sha                OBJ_algorithm,18L
  267.  
  268. #define SN_shaWithRSAEncryption        "RSA-SHA"
  269. #define LN_shaWithRSAEncryption        "shaWithRSAEncryption"
  270. #define NID_shaWithRSAEncryption    42
  271. #define OBJ_shaWithRSAEncryption    OBJ_algorithm,15L
  272.  
  273. #define SN_des_ede_cbc            "DES-EDE-CBC"
  274. #define LN_des_ede_cbc            "des-ede-cbc"
  275. #define NID_des_ede_cbc            43
  276.  
  277. #define SN_des_ede3_cbc            "DES-EDE3-CBC"
  278. #define LN_des_ede3_cbc            "des-ede3-cbc"
  279. #define NID_des_ede3_cbc        44
  280. #define OBJ_des_ede3_cbc        OBJ_rsadsi,3L,7L
  281.  
  282. #define SN_des_ofb64            "DES-OFB"
  283. #define LN_des_ofb64            "des-ofb"
  284. #define NID_des_ofb64            45
  285. #define OBJ_des_ofb64            OBJ_algorithm,8L
  286.  
  287. #define SN_idea_ofb64            "IDEA-OFB"
  288. #define LN_idea_ofb64            "idea-ofb"
  289. #define NID_idea_ofb64            46
  290.  
  291. #define LN_pkcs9            "pkcs9"
  292. #define NID_pkcs9            47
  293. #define OBJ_pkcs9            OBJ_pkcs,9L
  294.  
  295. #define SN_pkcs9_emailAddress        "Email"
  296. #define LN_pkcs9_emailAddress        "emailAddress"
  297. #define NID_pkcs9_emailAddress        48
  298. #define OBJ_pkcs9_emailAddress        OBJ_pkcs9,1L
  299.  
  300. #define LN_pkcs9_unstructuredName    "unstructuredName"
  301. #define NID_pkcs9_unstructuredName    49
  302. #define OBJ_pkcs9_unstructuredName    OBJ_pkcs9,2L
  303.  
  304. #define LN_pkcs9_contentType        "contentType"
  305. #define NID_pkcs9_contentType        50
  306. #define OBJ_pkcs9_contentType        OBJ_pkcs9,3L
  307.  
  308. #define LN_pkcs9_messageDigest        "messageDigest"
  309. #define NID_pkcs9_messageDigest        51
  310. #define OBJ_pkcs9_messageDigest        OBJ_pkcs9,4L
  311.  
  312. #define LN_pkcs9_signingTime        "signingTime"
  313. #define NID_pkcs9_signingTime        52
  314. #define OBJ_pkcs9_signingTime        OBJ_pkcs9,5L
  315.  
  316. #define LN_pkcs9_countersignature    "countersignature"
  317. #define NID_pkcs9_countersignature    53
  318. #define OBJ_pkcs9_countersignature    OBJ_pkcs9,6L
  319.  
  320. #define LN_pkcs9_challengePassword    "challengePassword"
  321. #define NID_pkcs9_challengePassword    54
  322. #define OBJ_pkcs9_challengePassword    OBJ_pkcs9,7L
  323.  
  324. #define LN_pkcs9_unstructuredAddress    "unstructuredAddress"
  325. #define NID_pkcs9_unstructuredAddress    55
  326. #define OBJ_pkcs9_unstructuredAddress    OBJ_pkcs9,8L
  327.  
  328. #define LN_pkcs9_extCertAttributes    "extendedCertificateAttributes"
  329. #define NID_pkcs9_extCertAttributes    56
  330. #define OBJ_pkcs9_extCertAttributes    OBJ_pkcs9,9L
  331.  
  332. #define SN_netscape            "Netscape"
  333. #define LN_netscape            "Netscape Communications Corp."
  334. #define NID_netscape            57
  335. #define OBJ_netscape            2L,16L,840L,1L,113730L
  336.  
  337. #define SN_netscape_cert_extension    "nsCertExt"
  338. #define LN_netscape_cert_extension    "Netscape Certificate Extension"
  339. #define NID_netscape_cert_extension    58
  340. #define OBJ_netscape_cert_extension    OBJ_netscape,1L
  341.  
  342. #define SN_netscape_data_type        "nsDataType"
  343. #define LN_netscape_data_type        "Netscape Data Type"
  344. #define NID_netscape_data_type        59
  345. #define OBJ_netscape_data_type        OBJ_netscape,2L
  346.  
  347. #define SN_des_ede_cfb64        "DES-EDE-CFB"
  348. #define LN_des_ede_cfb64        "des-ede-cfb"
  349. #define NID_des_ede_cfb64        60
  350.  
  351. #define SN_des_ede3_cfb64        "DES-EDE3-CFB"
  352. #define LN_des_ede3_cfb64        "des-ede3-cfb"
  353. #define NID_des_ede3_cfb64        61
  354.  
  355. #define SN_des_ede_ofb64        "DES-EDE-OFB"
  356. #define LN_des_ede_ofb64        "des-ede-ofb"
  357. #define NID_des_ede_ofb64        62
  358.  
  359. #define SN_des_ede3_ofb64        "DES-EDE3-OFB"
  360. #define LN_des_ede3_ofb64        "des-ede3-ofb"
  361. #define NID_des_ede3_ofb64        63
  362.  
  363. /* I'm not sure about the object ID */
  364. #define SN_sha1                "SHA1"
  365. #define LN_sha1                "sha1"
  366. #define NID_sha1            64
  367. #define OBJ_sha1            OBJ_algorithm,26L
  368. /* 28 Jun 1996 - eay */
  369. /* #define OBJ_sha1            1L,3L,14L,2L,26L,05L <- wrong */
  370.  
  371. #define SN_sha1WithRSAEncryption    "RSA-SHA1"
  372. #define LN_sha1WithRSAEncryption    "sha1WithRSAEncryption"
  373. #define NID_sha1WithRSAEncryption    65
  374. #define OBJ_sha1WithRSAEncryption    OBJ_pkcs,1L,5L
  375.  
  376. #define SN_dsaWithSHA            "DSA-SHA"
  377. #define LN_dsaWithSHA            "dsaWithSHA"
  378. #define NID_dsaWithSHA            66
  379. #define OBJ_dsaWithSHA            OBJ_algorithm,13L
  380.  
  381. #define SN_dsa_2            "DSA-old"
  382. #define LN_dsa_2            "dsaEncryption-old"
  383. #define NID_dsa_2            67
  384. #define OBJ_dsa_2            OBJ_algorithm,12L
  385.  
  386. /* proposed by microsoft to RSA */
  387. #define SN_pbeWithSHA1AndRC2_CBC    "PBE-SHA1-RC2-64"
  388. #define LN_pbeWithSHA1AndRC2_CBC    "pbeWithSHA1AndRC2-CBC"
  389. #define NID_pbeWithSHA1AndRC2_CBC    68
  390. #define OBJ_pbeWithSHA1AndRC2_CBC    OBJ_pkcs,5L,11L 
  391.  
  392. /* proposed by microsoft to RSA as pbeWithSHA1AndRC4: it is now
  393.  * defined explicitly in PKCS#5 v2.0 as id-PBKDF2 which is something
  394.  * completely different.
  395.  */
  396. #define LN_id_pbkdf2            "PBKDF2"
  397. #define NID_id_pbkdf2            69
  398. #define OBJ_id_pbkdf2            OBJ_pkcs,5L,12L 
  399.  
  400. #define SN_dsaWithSHA1_2        "DSA-SHA1-old"
  401. #define LN_dsaWithSHA1_2        "dsaWithSHA1-old"
  402. #define NID_dsaWithSHA1_2        70
  403. /* Got this one from 'sdn706r20.pdf' which is actually an NSA document :-) */
  404. #define OBJ_dsaWithSHA1_2        OBJ_algorithm,27L
  405.  
  406. #define SN_netscape_cert_type        "nsCertType"
  407. #define LN_netscape_cert_type        "Netscape Cert Type"
  408. #define NID_netscape_cert_type        71
  409. #define OBJ_netscape_cert_type        OBJ_netscape_cert_extension,1L
  410.  
  411. #define SN_netscape_base_url        "nsBaseUrl"
  412. #define LN_netscape_base_url        "Netscape Base Url"
  413. #define NID_netscape_base_url        72
  414. #define OBJ_netscape_base_url        OBJ_netscape_cert_extension,2L
  415.  
  416. #define SN_netscape_revocation_url    "nsRevocationUrl"
  417. #define LN_netscape_revocation_url    "Netscape Revocation Url"
  418. #define NID_netscape_revocation_url    73
  419. #define OBJ_netscape_revocation_url    OBJ_netscape_cert_extension,3L
  420.  
  421. #define SN_netscape_ca_revocation_url    "nsCaRevocationUrl"
  422. #define LN_netscape_ca_revocation_url    "Netscape CA Revocation Url"
  423. #define NID_netscape_ca_revocation_url    74
  424. #define OBJ_netscape_ca_revocation_url    OBJ_netscape_cert_extension,4L
  425.  
  426. #define SN_netscape_renewal_url        "nsRenewalUrl"
  427. #define LN_netscape_renewal_url        "Netscape Renewal Url"
  428. #define NID_netscape_renewal_url    75
  429. #define OBJ_netscape_renewal_url    OBJ_netscape_cert_extension,7L
  430.  
  431. #define SN_netscape_ca_policy_url    "nsCaPolicyUrl"
  432. #define LN_netscape_ca_policy_url    "Netscape CA Policy Url"
  433. #define NID_netscape_ca_policy_url    76
  434. #define OBJ_netscape_ca_policy_url    OBJ_netscape_cert_extension,8L
  435.  
  436. #define SN_netscape_ssl_server_name    "nsSslServerName"
  437. #define LN_netscape_ssl_server_name    "Netscape SSL Server Name"
  438. #define NID_netscape_ssl_server_name    77
  439. #define OBJ_netscape_ssl_server_name    OBJ_netscape_cert_extension,12L
  440.  
  441. #define SN_netscape_comment        "nsComment"
  442. #define LN_netscape_comment        "Netscape Comment"
  443. #define NID_netscape_comment        78
  444. #define OBJ_netscape_comment        OBJ_netscape_cert_extension,13L
  445.  
  446. #define SN_netscape_cert_sequence    "nsCertSequence"
  447. #define LN_netscape_cert_sequence    "Netscape Certificate Sequence"
  448. #define NID_netscape_cert_sequence    79
  449. #define OBJ_netscape_cert_sequence    OBJ_netscape_data_type,5L
  450.  
  451. #define SN_desx_cbc            "DESX-CBC"
  452. #define LN_desx_cbc            "desx-cbc"
  453. #define NID_desx_cbc            80
  454.  
  455. #define SN_id_ce            "id-ce"
  456. #define NID_id_ce            81
  457. #define OBJ_id_ce            2L,5L,29L
  458.  
  459. #define SN_subject_key_identifier    "subjectKeyIdentifier"
  460. #define LN_subject_key_identifier    "X509v3 Subject Key Identifier"
  461. #define NID_subject_key_identifier    82
  462. #define OBJ_subject_key_identifier    OBJ_id_ce,14L
  463.  
  464. #define SN_key_usage            "keyUsage"
  465. #define LN_key_usage            "X509v3 Key Usage"
  466. #define NID_key_usage            83
  467. #define OBJ_key_usage            OBJ_id_ce,15L
  468.  
  469. #define SN_private_key_usage_period    "privateKeyUsagePeriod"
  470. #define LN_private_key_usage_period    "X509v3 Private Key Usage Period"
  471. #define NID_private_key_usage_period    84
  472. #define OBJ_private_key_usage_period    OBJ_id_ce,16L
  473.  
  474. #define SN_subject_alt_name        "subjectAltName"
  475. #define LN_subject_alt_name        "X509v3 Subject Alternative Name"
  476. #define NID_subject_alt_name        85
  477. #define OBJ_subject_alt_name        OBJ_id_ce,17L
  478.  
  479. #define SN_issuer_alt_name        "issuerAltName"
  480. #define LN_issuer_alt_name        "X509v3 Issuer Alternative Name"
  481. #define NID_issuer_alt_name        86
  482. #define OBJ_issuer_alt_name        OBJ_id_ce,18L
  483.  
  484. #define SN_basic_constraints        "basicConstraints"
  485. #define LN_basic_constraints        "X509v3 Basic Constraints"
  486. #define NID_basic_constraints        87
  487. #define OBJ_basic_constraints        OBJ_id_ce,19L
  488.  
  489. #define SN_crl_number            "crlNumber"
  490. #define LN_crl_number            "X509v3 CRL Number"
  491. #define NID_crl_number            88
  492. #define OBJ_crl_number            OBJ_id_ce,20L
  493.  
  494. #define SN_certificate_policies        "certificatePolicies"
  495. #define LN_certificate_policies        "X509v3 Certificate Policies"
  496. #define NID_certificate_policies    89
  497. #define OBJ_certificate_policies    OBJ_id_ce,32L
  498.  
  499. #define SN_authority_key_identifier    "authorityKeyIdentifier"
  500. #define LN_authority_key_identifier    "X509v3 Authority Key Identifier"
  501. #define NID_authority_key_identifier    90
  502. #define OBJ_authority_key_identifier    OBJ_id_ce,35L
  503.  
  504. #define SN_bf_cbc            "BF-CBC"
  505. #define LN_bf_cbc            "bf-cbc"
  506. #define NID_bf_cbc            91
  507. #define OBJ_bf_cbc            1L,3L,6L,1L,4L,1L,3029L,1L,2L
  508.  
  509. #define SN_bf_ecb            "BF-ECB"
  510. #define LN_bf_ecb            "bf-ecb"
  511. #define NID_bf_ecb            92
  512.  
  513. #define SN_bf_cfb64            "BF-CFB"
  514. #define LN_bf_cfb64            "bf-cfb"
  515. #define NID_bf_cfb64            93
  516.  
  517. #define SN_bf_ofb64            "BF-OFB"
  518. #define LN_bf_ofb64            "bf-ofb"
  519. #define NID_bf_ofb64            94
  520.  
  521. #define SN_mdc2                "MDC2"
  522. #define LN_mdc2                "mdc2"
  523. #define NID_mdc2            95
  524. #define OBJ_mdc2            2L,5L,8L,3L,101L
  525. /* An alternative?            1L,3L,14L,3L,2L,19L */
  526.  
  527. #define SN_mdc2WithRSA            "RSA-MDC2"
  528. #define LN_mdc2WithRSA            "mdc2withRSA"
  529. #define NID_mdc2WithRSA            96
  530. #define OBJ_mdc2WithRSA            2L,5L,8L,3L,100L
  531.  
  532. #define SN_rc4_40            "RC4-40"
  533. #define LN_rc4_40            "rc4-40"
  534. #define NID_rc4_40            97
  535.  
  536. #define SN_rc2_40_cbc            "RC2-40-CBC"
  537. #define LN_rc2_40_cbc            "rc2-40-cbc"
  538. #define NID_rc2_40_cbc            98
  539.  
  540. #define SN_givenName            "G"
  541. #define LN_givenName            "givenName"
  542. #define NID_givenName            99
  543. #define OBJ_givenName            OBJ_X509,42L
  544.  
  545. #define SN_surname            "S"
  546. #define LN_surname            "surname"
  547. #define NID_surname            100
  548. #define OBJ_surname            OBJ_X509,4L
  549.  
  550. #define SN_initials            "I"
  551. #define LN_initials            "initials"
  552. #define NID_initials            101
  553. #define OBJ_initials            OBJ_X509,43L
  554.  
  555. #define SN_uniqueIdentifier        "UID"
  556. #define LN_uniqueIdentifier        "uniqueIdentifier"
  557. #define NID_uniqueIdentifier        102
  558. #define OBJ_uniqueIdentifier        OBJ_X509,45L
  559.  
  560. #define SN_crl_distribution_points    "crlDistributionPoints"
  561. #define LN_crl_distribution_points    "X509v3 CRL Distribution Points"
  562. #define NID_crl_distribution_points    103
  563. #define OBJ_crl_distribution_points    OBJ_id_ce,31L
  564.  
  565. #define SN_md5WithRSA            "RSA-NP-MD5"
  566. #define LN_md5WithRSA            "md5WithRSA"
  567. #define NID_md5WithRSA            104
  568. #define OBJ_md5WithRSA            OBJ_algorithm,3L
  569.  
  570. #define SN_serialNumber            "SN"
  571. #define LN_serialNumber            "serialNumber"
  572. #define NID_serialNumber        105
  573. #define OBJ_serialNumber        OBJ_X509,5L
  574.  
  575. #define SN_title            "T"
  576. #define LN_title            "title"
  577. #define NID_title            106
  578. #define OBJ_title            OBJ_X509,12L
  579.  
  580. #define SN_description            "D"
  581. #define LN_description            "description"
  582. #define NID_description            107
  583. #define OBJ_description            OBJ_X509,13L
  584.  
  585. /* CAST5 is CAST-128, I'm just sticking with the documentation */
  586. #define SN_cast5_cbc            "CAST5-CBC"
  587. #define LN_cast5_cbc            "cast5-cbc"
  588. #define NID_cast5_cbc            108
  589. #define OBJ_cast5_cbc            1L,2L,840L,113533L,7L,66L,10L
  590.  
  591. #define SN_cast5_ecb            "CAST5-ECB"
  592. #define LN_cast5_ecb            "cast5-ecb"
  593. #define NID_cast5_ecb            109
  594.  
  595. #define SN_cast5_cfb64            "CAST5-CFB"
  596. #define LN_cast5_cfb64            "cast5-cfb"
  597. #define NID_cast5_cfb64            110
  598.  
  599. #define SN_cast5_ofb64            "CAST5-OFB"
  600. #define LN_cast5_ofb64            "cast5-ofb"
  601. #define NID_cast5_ofb64            111
  602.  
  603. #define LN_pbeWithMD5AndCast5_CBC    "pbeWithMD5AndCast5CBC"
  604. #define NID_pbeWithMD5AndCast5_CBC    112
  605. #define OBJ_pbeWithMD5AndCast5_CBC    1L,2L,840L,113533L,7L,66L,12L
  606.  
  607. /* This is one sun will soon be using :-(
  608.  * id-dsa-with-sha1 ID  ::= {
  609.  *   iso(1) member-body(2) us(840) x9-57 (10040) x9cm(4) 3 }
  610.  */
  611. #define SN_dsaWithSHA1            "DSA-SHA1"
  612. #define LN_dsaWithSHA1            "dsaWithSHA1"
  613. #define NID_dsaWithSHA1            113
  614. #define OBJ_dsaWithSHA1            1L,2L,840L,10040L,4L,3L
  615.  
  616. #define NID_md5_sha1            114
  617. #define SN_md5_sha1            "MD5-SHA1"
  618. #define LN_md5_sha1            "md5-sha1"
  619.  
  620. #define SN_sha1WithRSA            "RSA-SHA1-2"
  621. #define LN_sha1WithRSA            "sha1WithRSA"
  622. #define NID_sha1WithRSA            115
  623. #define OBJ_sha1WithRSA            OBJ_algorithm,29L
  624.  
  625. #define SN_dsa                "DSA"
  626. #define LN_dsa                "dsaEncryption"
  627. #define NID_dsa                116
  628. #define OBJ_dsa                1L,2L,840L,10040L,4L,1L
  629.  
  630. #define SN_ripemd160            "RIPEMD160"
  631. #define LN_ripemd160            "ripemd160"
  632. #define NID_ripemd160            117
  633. #define OBJ_ripemd160            1L,3L,36L,3L,2L,1L
  634.  
  635. /* The name should actually be rsaSignatureWithripemd160, but I'm going
  636.  * to continue using the convention I'm using with the other ciphers */
  637. #define SN_ripemd160WithRSA        "RSA-RIPEMD160"
  638. #define LN_ripemd160WithRSA        "ripemd160WithRSA"
  639. #define NID_ripemd160WithRSA        119
  640. #define OBJ_ripemd160WithRSA        1L,3L,36L,3L,3L,1L,2L
  641.  
  642. /* Taken from rfc2040
  643.  *  RC5_CBC_Parameters ::= SEQUENCE {
  644.  *    version           INTEGER (v1_0(16)),
  645.  *    rounds            INTEGER (8..127),
  646.  *    blockSizeInBits   INTEGER (64, 128),
  647.  *    iv                OCTET STRING OPTIONAL
  648.  *    }
  649.  */
  650. #define SN_rc5_cbc            "RC5-CBC"
  651. #define LN_rc5_cbc            "rc5-cbc"
  652. #define NID_rc5_cbc            120
  653. #define OBJ_rc5_cbc            OBJ_rsadsi,3L,8L
  654.  
  655. #define SN_rc5_ecb            "RC5-ECB"
  656. #define LN_rc5_ecb            "rc5-ecb"
  657. #define NID_rc5_ecb            121
  658.  
  659. #define SN_rc5_cfb64            "RC5-CFB"
  660. #define LN_rc5_cfb64            "rc5-cfb"
  661. #define NID_rc5_cfb64            122
  662.  
  663. #define SN_rc5_ofb64            "RC5-OFB"
  664. #define LN_rc5_ofb64            "rc5-ofb"
  665. #define NID_rc5_ofb64            123
  666.  
  667. #define SN_rle_compression        "RLE"
  668. #define LN_rle_compression        "run length compression"
  669. #define NID_rle_compression        124
  670. #define OBJ_rle_compression        1L,1L,1L,1L,666L,1L
  671.  
  672. #define SN_zlib_compression        "ZLIB"
  673. #define LN_zlib_compression        "zlib compression"
  674. #define NID_zlib_compression        125
  675. #define OBJ_zlib_compression        1L,1L,1L,1L,666L,2L
  676.  
  677. #define SN_ext_key_usage        "extendedKeyUsage"
  678. #define LN_ext_key_usage        "X509v3 Extended Key Usage"
  679. #define NID_ext_key_usage        126
  680. #define OBJ_ext_key_usage        OBJ_id_ce,37
  681.  
  682. #define SN_id_pkix            "PKIX"
  683. #define NID_id_pkix            127
  684. #define OBJ_id_pkix            1L,3L,6L,1L,5L,5L,7L
  685.  
  686. #define SN_id_kp            "id-kp"
  687. #define NID_id_kp            128
  688. #define OBJ_id_kp            OBJ_id_pkix,3L
  689.  
  690. /* PKIX extended key usage OIDs */
  691.  
  692. #define SN_server_auth            "serverAuth"
  693. #define LN_server_auth            "TLS Web Server Authentication"
  694. #define NID_server_auth            129
  695. #define OBJ_server_auth            OBJ_id_kp,1L
  696.  
  697. #define SN_client_auth            "clientAuth"
  698. #define LN_client_auth            "TLS Web Client Authentication"
  699. #define NID_client_auth            130
  700. #define OBJ_client_auth            OBJ_id_kp,2L
  701.  
  702. #define SN_code_sign            "codeSigning"
  703. #define LN_code_sign            "Code Signing"
  704. #define NID_code_sign            131
  705. #define OBJ_code_sign            OBJ_id_kp,3L
  706.  
  707. #define SN_email_protect        "emailProtection"
  708. #define LN_email_protect        "E-mail Protection"
  709. #define NID_email_protect        132
  710. #define OBJ_email_protect        OBJ_id_kp,4L
  711.  
  712. #define SN_time_stamp            "timeStamping"
  713. #define LN_time_stamp            "Time Stamping"
  714. #define NID_time_stamp            133
  715. #define OBJ_time_stamp            OBJ_id_kp,8L
  716.  
  717. /* Additional extended key usage OIDs: Microsoft */
  718.  
  719. #define SN_ms_code_ind            "msCodeInd"
  720. #define LN_ms_code_ind            "Microsoft Individual Code Signing"
  721. #define NID_ms_code_ind            134
  722. #define OBJ_ms_code_ind            1L,3L,6L,1L,4L,1L,311L,2L,1L,21L
  723.  
  724. #define SN_ms_code_com            "msCodeCom"
  725. #define LN_ms_code_com            "Microsoft Commercial Code Signing"
  726. #define NID_ms_code_com            135
  727. #define OBJ_ms_code_com            1L,3L,6L,1L,4L,1L,311L,2L,1L,22L
  728.  
  729. #define SN_ms_ctl_sign            "msCTLSign"
  730. #define LN_ms_ctl_sign            "Microsoft Trust List Signing"
  731. #define NID_ms_ctl_sign            136
  732. #define OBJ_ms_ctl_sign            1L,3L,6L,1L,4L,1L,311L,10L,3L,1L
  733.  
  734. #define SN_ms_sgc            "msSGC"
  735. #define LN_ms_sgc            "Microsoft Server Gated Crypto"
  736. #define NID_ms_sgc            137
  737. #define OBJ_ms_sgc            1L,3L,6L,1L,4L,1L,311L,10L,3L,3L
  738.  
  739. #define SN_ms_efs            "msEFS"
  740. #define LN_ms_efs            "Microsoft Encrypted File System"
  741. #define NID_ms_efs            138
  742. #define OBJ_ms_efs            1L,3L,6L,1L,4L,1L,311L,10L,3L,4L
  743.  
  744. /* Additional usage: Netscape */
  745.  
  746. #define SN_ns_sgc            "nsSGC"
  747. #define LN_ns_sgc            "Netscape Server Gated Crypto"
  748. #define NID_ns_sgc            139
  749. #define OBJ_ns_sgc            OBJ_netscape,4L,1L
  750.  
  751. #define SN_delta_crl            "deltaCRL"
  752. #define LN_delta_crl            "X509v3 Delta CRL Indicator"
  753. #define NID_delta_crl            140
  754. #define OBJ_delta_crl            OBJ_id_ce,27L
  755.  
  756. #define SN_crl_reason            "CRLReason"
  757. #define LN_crl_reason            "CRL Reason Code"
  758. #define NID_crl_reason            141
  759. #define OBJ_crl_reason            OBJ_id_ce,21L
  760.  
  761. #define SN_invalidity_date        "invalidityDate"
  762. #define LN_invalidity_date        "Invalidity Date"
  763. #define NID_invalidity_date        142
  764. #define OBJ_invalidity_date        OBJ_id_ce,24L
  765.  
  766. #define SN_sxnet            "SXNetID"
  767. #define LN_sxnet            "Strong Extranet ID"
  768. #define NID_sxnet            143
  769. #define OBJ_sxnet            1L,3L,101L,1L,4L,1L
  770.  
  771. /* PKCS12 and related OBJECT IDENTIFIERS */
  772.  
  773. #define OBJ_pkcs12            OBJ_pkcs,12L
  774. #define OBJ_pkcs12_pbeids        OBJ_pkcs12, 1
  775.  
  776. #define SN_pbe_WithSHA1And128BitRC4    "PBE-SHA1-RC4-128"
  777. #define LN_pbe_WithSHA1And128BitRC4    "pbeWithSHA1And128BitRC4"
  778. #define NID_pbe_WithSHA1And128BitRC4    144
  779. #define OBJ_pbe_WithSHA1And128BitRC4    OBJ_pkcs12_pbeids, 1L
  780.  
  781. #define SN_pbe_WithSHA1And40BitRC4    "PBE-SHA1-RC4-40"
  782. #define LN_pbe_WithSHA1And40BitRC4    "pbeWithSHA1And40BitRC4"
  783. #define NID_pbe_WithSHA1And40BitRC4    145
  784. #define OBJ_pbe_WithSHA1And40BitRC4    OBJ_pkcs12_pbeids, 2L
  785.  
  786. #define SN_pbe_WithSHA1And3_Key_TripleDES_CBC    "PBE-SHA1-3DES"
  787. #define LN_pbe_WithSHA1And3_Key_TripleDES_CBC    "pbeWithSHA1And3-KeyTripleDES-CBC"
  788. #define NID_pbe_WithSHA1And3_Key_TripleDES_CBC    146
  789. #define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC    OBJ_pkcs12_pbeids, 3L
  790.  
  791. #define SN_pbe_WithSHA1And2_Key_TripleDES_CBC    "PBE-SHA1-2DES"
  792. #define LN_pbe_WithSHA1And2_Key_TripleDES_CBC    "pbeWithSHA1And2-KeyTripleDES-CBC"
  793. #define NID_pbe_WithSHA1And2_Key_TripleDES_CBC    147
  794. #define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC    OBJ_pkcs12_pbeids, 4L
  795.  
  796. #define SN_pbe_WithSHA1And128BitRC2_CBC        "PBE-SHA1-RC2-128"
  797. #define LN_pbe_WithSHA1And128BitRC2_CBC        "pbeWithSHA1And128BitRC2-CBC"
  798. #define NID_pbe_WithSHA1And128BitRC2_CBC    148
  799. #define OBJ_pbe_WithSHA1And128BitRC2_CBC    OBJ_pkcs12_pbeids, 5L
  800.  
  801. #define SN_pbe_WithSHA1And40BitRC2_CBC    "PBE-SHA1-RC2-40"
  802. #define LN_pbe_WithSHA1And40BitRC2_CBC    "pbeWithSHA1And40BitRC2-CBC"
  803. #define NID_pbe_WithSHA1And40BitRC2_CBC    149
  804. #define OBJ_pbe_WithSHA1And40BitRC2_CBC    OBJ_pkcs12_pbeids, 6L
  805.  
  806. #define OBJ_pkcs12_Version1    OBJ_pkcs12, 10L
  807.  
  808. #define OBJ_pkcs12_BagIds    OBJ_pkcs12_Version1, 1L
  809.  
  810. #define LN_keyBag        "keyBag"
  811. #define NID_keyBag        150
  812. #define OBJ_keyBag        OBJ_pkcs12_BagIds, 1L
  813.  
  814. #define LN_pkcs8ShroudedKeyBag    "pkcs8ShroudedKeyBag"
  815. #define NID_pkcs8ShroudedKeyBag    151
  816. #define OBJ_pkcs8ShroudedKeyBag    OBJ_pkcs12_BagIds, 2L
  817.  
  818. #define LN_certBag        "certBag"
  819. #define NID_certBag        152
  820. #define OBJ_certBag        OBJ_pkcs12_BagIds, 3L
  821.  
  822. #define LN_crlBag        "crlBag"
  823. #define NID_crlBag        153
  824. #define OBJ_crlBag        OBJ_pkcs12_BagIds, 4L
  825.  
  826. #define LN_secretBag        "secretBag"
  827. #define NID_secretBag        154
  828. #define OBJ_secretBag        OBJ_pkcs12_BagIds, 5L
  829.  
  830. #define LN_safeContentsBag    "safeContentsBag"
  831. #define NID_safeContentsBag    155
  832. #define OBJ_safeContentsBag    OBJ_pkcs12_BagIds, 6L
  833.  
  834. #define LN_friendlyName        "friendlyName"
  835. #define    NID_friendlyName    156
  836. #define OBJ_friendlyName    OBJ_pkcs9, 20L
  837.  
  838. #define LN_localKeyID        "localKeyID"
  839. #define    NID_localKeyID        157
  840. #define OBJ_localKeyID        OBJ_pkcs9, 21L
  841.  
  842. #define OBJ_certTypes        OBJ_pkcs9, 22L
  843.  
  844. #define LN_x509Certificate    "x509Certificate"
  845. #define    NID_x509Certificate    158
  846. #define OBJ_x509Certificate    OBJ_certTypes, 1L
  847.  
  848. #define LN_sdsiCertificate    "sdsiCertificate"
  849. #define    NID_sdsiCertificate    159
  850. #define OBJ_sdsiCertificate    OBJ_certTypes, 2L
  851.  
  852. #define OBJ_crlTypes        OBJ_pkcs9, 23L
  853.  
  854. #define LN_x509Crl        "x509Crl"
  855. #define    NID_x509Crl        160
  856. #define OBJ_x509Crl        OBJ_crlTypes, 1L
  857.  
  858. /* PKCS#5 v2 OIDs */
  859.  
  860. #define LN_pbes2        "PBES2"
  861. #define NID_pbes2        161
  862. #define OBJ_pbes2        OBJ_pkcs,5L,13L
  863.  
  864. #define LN_pbmac1        "PBMAC1"
  865. #define NID_pbmac1        162
  866. #define OBJ_pbmac1        OBJ_pkcs,5L,14L
  867.  
  868. #define LN_hmacWithSHA1        "hmacWithSHA1"
  869. #define NID_hmacWithSHA1    163
  870. #define OBJ_hmacWithSHA1    OBJ_rsadsi,2L,7L
  871.  
  872. /* Policy Qualifier Ids */
  873.  
  874. #define LN_id_qt_cps        "Policy Qualifier CPS"
  875. #define SN_id_qt_cps        "id-qt-cps"
  876. #define NID_id_qt_cps        164
  877. #define OBJ_id_qt_cps        OBJ_id_pkix,2L,1L
  878.  
  879. #define LN_id_qt_unotice    "Policy Qualifier User Notice"
  880. #define SN_id_qt_unotice    "id-qt-unotice"
  881. #define NID_id_qt_unotice    165
  882. #define OBJ_id_qt_unotice    OBJ_id_pkix,2L,2L
  883.  
  884. #define SN_rc2_64_cbc            "RC2-64-CBC"
  885. #define LN_rc2_64_cbc            "rc2-64-cbc"
  886. #define NID_rc2_64_cbc            166
  887.  
  888. #define SN_SMIMECapabilities        "SMIME-CAPS"
  889. #define LN_SMIMECapabilities        "S/MIME Capabilities"
  890. #define NID_SMIMECapabilities        167
  891. #define OBJ_SMIMECapabilities        OBJ_pkcs9,15L
  892.  
  893. #define SN_pbeWithMD2AndRC2_CBC        "PBE-MD2-RC2-64"
  894. #define LN_pbeWithMD2AndRC2_CBC        "pbeWithMD2AndRC2-CBC"
  895. #define NID_pbeWithMD2AndRC2_CBC    168
  896. #define OBJ_pbeWithMD2AndRC2_CBC    OBJ_pkcs,5L,4L
  897.  
  898. #define SN_pbeWithMD5AndRC2_CBC        "PBE-MD5-RC2-64"
  899. #define LN_pbeWithMD5AndRC2_CBC        "pbeWithMD5AndRC2-CBC"
  900. #define NID_pbeWithMD5AndRC2_CBC    169
  901. #define OBJ_pbeWithMD5AndRC2_CBC    OBJ_pkcs,5L,6L
  902.  
  903. #define SN_pbeWithSHA1AndDES_CBC    "PBE-SHA1-DES"
  904. #define LN_pbeWithSHA1AndDES_CBC    "pbeWithSHA1AndDES-CBC"
  905. #define NID_pbeWithSHA1AndDES_CBC    170
  906. #define OBJ_pbeWithSHA1AndDES_CBC    OBJ_pkcs,5L,10L
  907.  
  908. /* Extension request OIDs */
  909.  
  910. #define LN_ms_ext_req            "Microsoft Extension Request"
  911. #define SN_ms_ext_req            "msExtReq"
  912. #define NID_ms_ext_req            171
  913. #define OBJ_ms_ext_req            1L,3L,6L,1L,4L,1L,311L,2L,1L,14L
  914.  
  915. #define LN_ext_req            "Extension Request"
  916. #define SN_ext_req            "extReq"
  917. #define NID_ext_req            172
  918. #define OBJ_ext_req            OBJ_pkcs9,14L
  919.  
  920. #define SN_name                "name"
  921. #define LN_name                "name"
  922. #define NID_name            173
  923. #define OBJ_name            OBJ_X509,41L
  924.  
  925. #define SN_dnQualifier            "dnQualifier"
  926. #define LN_dnQualifier            "dnQualifier"
  927. #define NID_dnQualifier            174
  928. #define OBJ_dnQualifier            OBJ_X509,46L
  929.  
  930. #define SN_id_pe            "id-pe"
  931. #define NID_id_pe            175
  932. #define OBJ_id_pe            OBJ_id_pkix,1L
  933.  
  934. #define SN_id_ad            "id-ad"
  935. #define NID_id_ad            176
  936. #define OBJ_id_ad            OBJ_id_pkix,48L
  937.  
  938. #define SN_info_access            "authorityInfoAccess"
  939. #define LN_info_access            "Authority Information Access"
  940. #define NID_info_access            177
  941. #define OBJ_info_access            OBJ_id_pe,1L
  942.  
  943. #define SN_ad_OCSP            "OCSP"
  944. #define LN_ad_OCSP            "OCSP"
  945. #define NID_ad_OCSP            178
  946. #define OBJ_ad_OCSP            OBJ_id_ad,1L
  947.  
  948. #define SN_ad_ca_issuers        "caIssuers"
  949. #define LN_ad_ca_issuers        "CA Issuers"
  950. #define NID_ad_ca_issuers        179
  951. #define OBJ_ad_ca_issuers        OBJ_id_ad,2L
  952.  
  953. #define SN_OCSP_sign            "OCSPSigning"
  954. #define LN_OCSP_sign            "OCSP Signing"
  955. #define NID_OCSP_sign            180
  956. #define OBJ_OCSP_sign            OBJ_id_kp,9L
  957. #endif /* USE_OBJ_MAC */
  958.  
  959. #include <openssl/bio.h>
  960. #include <openssl/asn1.h>
  961.  
  962. #define    OBJ_NAME_TYPE_UNDEF        0x00
  963. #define    OBJ_NAME_TYPE_MD_METH        0x01
  964. #define    OBJ_NAME_TYPE_CIPHER_METH    0x02
  965. #define    OBJ_NAME_TYPE_PKEY_METH        0x03
  966. #define    OBJ_NAME_TYPE_COMP_METH        0x04
  967. #define    OBJ_NAME_TYPE_NUM        0x05
  968.  
  969. #define    OBJ_NAME_ALIAS        0x8000
  970.  
  971.  
  972. #ifdef  __cplusplus
  973. extern "C" {
  974. #endif
  975.  
  976. typedef struct obj_name_st
  977.     {
  978.     int type;
  979.     int alias;
  980.     const char *name;
  981.     const char *data;
  982.     } OBJ_NAME;
  983.  
  984. #define        OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c)
  985.  
  986.  
  987. int OBJ_NAME_init(void);
  988. int OBJ_NAME_new_index(unsigned long (*hash_func)(const char *),
  989.                int (*cmp_func)(const char *, const char *),
  990.                void (*free_func)(const char *, int, const char *));
  991. const char *OBJ_NAME_get(const char *name,int type);
  992. int OBJ_NAME_add(const char *name,int type,const char *data);
  993. int OBJ_NAME_remove(const char *name,int type);
  994. void OBJ_NAME_cleanup(int type); /* -1 for everything */
  995. void OBJ_NAME_do_all(int type,void (*fn)(const OBJ_NAME *,void *arg),
  996.              void *arg);
  997. void OBJ_NAME_do_all_sorted(int type,void (*fn)(const OBJ_NAME *,void *arg),
  998.                 void *arg);
  999.  
  1000. ASN1_OBJECT *    OBJ_dup(const ASN1_OBJECT *o);
  1001. ASN1_OBJECT *    OBJ_nid2obj(int n);
  1002. const char *    OBJ_nid2ln(int n);
  1003. const char *    OBJ_nid2sn(int n);
  1004. int        OBJ_obj2nid(const ASN1_OBJECT *o);
  1005. ASN1_OBJECT *    OBJ_txt2obj(const char *s, int no_name);
  1006. int    OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name);
  1007. int        OBJ_txt2nid(const char *s);
  1008. int        OBJ_ln2nid(const char *s);
  1009. int        OBJ_sn2nid(const char *s);
  1010. int        OBJ_cmp(const ASN1_OBJECT *a,const ASN1_OBJECT *b);
  1011. const char *    OBJ_bsearch(const char *key,const char *base,int num,int size,
  1012.     int (*cmp)(const void *, const void *));
  1013.  
  1014. int        OBJ_new_nid(int num);
  1015. int        OBJ_add_object(const ASN1_OBJECT *obj);
  1016. int        OBJ_create(const char *oid,const char *sn,const char *ln);
  1017. void        OBJ_cleanup(void );
  1018. int        OBJ_create_objects(BIO *in);
  1019.  
  1020. /* BEGIN ERROR CODES */
  1021. /* The following lines are auto generated by the script mkerr.pl. Any changes
  1022.  * made after this point may be overwritten when the script is next run.
  1023.  */
  1024. void ERR_load_OBJ_strings(void);
  1025.  
  1026. /* Error codes for the OBJ functions. */
  1027.  
  1028. /* Function codes. */
  1029. #define OBJ_F_OBJ_ADD_OBJECT                 105
  1030. #define OBJ_F_OBJ_CREATE                 100
  1031. #define OBJ_F_OBJ_DUP                     101
  1032. #define OBJ_F_OBJ_NAME_NEW_INDEX             106
  1033. #define OBJ_F_OBJ_NID2LN                 102
  1034. #define OBJ_F_OBJ_NID2OBJ                 103
  1035. #define OBJ_F_OBJ_NID2SN                 104
  1036.  
  1037. /* Reason codes. */
  1038. #define OBJ_R_MALLOC_FAILURE                 100
  1039. #define OBJ_R_UNKNOWN_NID                 101
  1040.  
  1041. #ifdef  __cplusplus
  1042. }
  1043. #endif
  1044. #endif
  1045.